package forms

// PasswordLoginForm 结构体用于接收用户的密码登录请求参数
// form:"mobile"：用于解析`x-www-form-x-www-form-urlencoded或form-data调用请求
// json:"mobile"：用于解析application/json终止请求体参数。
// binding:"required,min=3,max=20"： required：该字段必填，不可为空。 min=3：密码最少3个字符。 max=20：最多20个字符。

type PasswordLoginForm struct {
	Mobile    string `form:"mobile" json:"mobile" binding:"required,customMobile"`     // 用户手机号，必须提供，表单参数名和 JSON 字段名均为 "mobile"
	Password  string `form:"password" json:"password" binding:"required,min=3,max=20"` // 用户密码，必须提供，长度限制在 3~20 个字符之间，表单参数名和 JSON 字段名均为 "password"
	Captcha   string `form:"captcha" json:"captcha" binding:"required,min=5,max=5"`
	CaptchaId string `form:"captchaId" json:"captchaId" binding:"required"`
}

type MobileLoginForm struct {
	Mobile  string `form:"mobile" json:"mobile" binding:"required,customMobile"` // 用户手机号，必须提供，表单参数名和 JSON 字段名均为 "mobile"
	SmsCode string `form:"smsCode" json:"smsCode" binding:"required,min=6,max=6"`
}

type RegisterForm struct {
	Mobile   string `form:"mobile" json:"mobile" binding:"required,customMobile"`     // 用户手机号，必须提供，表单参数名和 JSON 字段名均为 "mobile"
	Password string `form:"password" json:"password" binding:"required,min=3,max=20"` // 用户密码，必须提供，长度限制在 3~20 个字符之间，表单参数名和 JSON 字段名均为 "password"
	NickName string `form:"nickName" json:"nickName" binding:"required"`
}
